﻿using System.Diagnostics.CodeAnalysis;
using Microsoft.AspNetCore.Identity;
using Swimj.ApplicationLib.Entities;

namespace Admin.ApplicationLib.Entities
{
    public class RoleEntity : IdentityRole<Guid>, IAuditableEntity
    {
        [NotNull] public string? Code { get; set; }

        public string? Description { get; set; }

        /// <summary>
        /// 数据状态
        /// </summary>
        public int DataState { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public string? CreatedBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedOn { get; set; }

        /// <summary>
        /// 最后修改人
        /// </summary>
        public string? LastModifiedBy { get; set; }

        /// <summary>
        /// 最后修改时间
        /// </summary>
        public DateTime? LastModifiedOn { get; set; }

        /// <summary>
        /// 删除人
        /// </summary>
        public string? DeletedBy { get; set; }

        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime? DeletedOn { get; set; }

        // public ICollection<IdentityRoleClaim<Guid>>? Claims { get; set; }

        // public ICollection<UserRoleEntity>? UserRoles { get; set; }
    }
}